---
title: mybatis
---

## 什么是 MyBatis

* MyBatis 是一个优秀的**持久层框架**。

* 它支持定制化 SQL、存储过程以及高级映射。

* MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

* MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息，将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

* github: https://github.com/mybatis/mybatis-3

* maven坐标

  ```xml
  <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
  <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.13</version>
  </dependency>
  ```

## 什么是持久化

数据持久化。

* 持久化就是程序的数据在持久状态和瞬时状态转化的过程。
* 内存：断电即失
* 数据库、io文件持久化

为什么需要持久化？

* 有一些数据不能让它丢失。

* 内存太贵

## 持久层

Dao 层、Service层、Controller层...

* 完成持久化工作的代码块
* 层界限十分明显

## 为什么需要 MyBatis 

* 方便。
* 帮助程序将数据存入到数据库中。
* 传统的 JDBC 代码太复杂了。为了简化。
* 不用 MyBatis 也可以，更容易上手。

![image-20230522212219424](https://img.wkq.pub/picimage-20230522212219424.png)





import DocCardList from '@theme/DocCardList';

<DocCardList />

